package com.zhangtai.modules.entity.salary;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 奖罚包表
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-10-19 09:53:57
 */
@Data
@TableName("tb_award_package")
public class AwardPackageEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 流水号
     */
    private String serialNum;
    /**
     * 申请日期
     */
    private Date applyTime;
    /**
     * 申请人姓名
     */
    private String applicantName;
    /**
     * 申请人公司id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orgId;
    /**
     * 申请人部门id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long unitId;
    /**
     * 申请人职位id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long jobId;
    /**
     * 奖罚包名称
     */
    private String awardName;
    /**
     * 奖罚种类
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long type;
    /**
     * 奖罚总金额
     */
    private BigDecimal totalAmount;
    /**
     * 奖罚说明
     */
    private String remark;
    /**
     * 审批状态  0 待发起 1 审批中  2已审批
     */
    private Integer status;
    /**
     * 分配状态  0未分配  1 分配中  2已分配
     */
    private Integer distributionStatus;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 0:未删除，1：已删除
     */
    private Integer isDelete;
    /**
     * 创建人
     */
    private String createName;
    /**
     * 创建人 code
     */
    private String createCode;
    /**
     * 附件地址
     */
    private String fileUrl;
    /**
     * bpm地址
     */
    private String bpmUrl;
    /**
     * 插入时间
     */
    private Date insetDate;

}
